﻿namespace Devonline.Entity;

/// <summary>
/// 附加信息, 子类中和对应的实体数据建立主子表关系以保存附加信息, 字符串类型的抽象实现
/// 需要在具体业务子类中实现并指定 AdditionalId 对应的业务实体类型导航引用
/// </summary>
[Table("additional"), DisplayName("附加信息")]
public abstract class Additional : Additional<string> { }

/// <summary>
/// 附加信息, 子类中和对应的实体数据建立主子表关系以保存附加信息
/// 需要在具体业务子类中实现并指定 AdditionalId 对应的业务实体类型导航引用
/// </summary>
[Table("additional"), DisplayName("附加信息")]
public abstract class Additional<TKey> : EntitySetWithKeyValuePair<TKey>, IAdditional<TKey> where TKey : IConvertible
{
    [Column("additional_id"), DisplayName("附加信息业务主键"), Required, MaxLength(36), Excel]
    public virtual TKey? AdditionalId { get; set; }
}
